﻿//using CKS.Core.Framework;
//using System;
//using System.Collections.Generic;
//using System.Linq;
//using System.Text;
//using System.Threading.Tasks;
//using ZR.Model.Models.ProductionControl;

//namespace CKS.PLC.Action.Subscription
//{
//    /// <summary>
//    /// 
//    /// 作用类型是加工结果，保存数据到1张表里
//    /// </summary>
//    public class SaveProcessingResults : PLCAction
//    {
//        public SaveProcessingResults(DecodeValue _value) : base(_value)
//        {
//        }

//        public override void Execute()
//        {
//            var pos = Value.Position;
//            var replyDB = pos.BlockDb - 1;
//            var replyPos = Value.GetPosition(replyDB, pos.ActionId);
//            var result = Value.Value.ToInt();
     
//            if(result == 1)
//            {
//                //保存数据到数据库
//                var datas =Value.GetActionAllData();
//                string No = Guid.NewGuid().ToString("N");
//                List<CksTestResult> results = new List<CksTestResult>();
//                foreach (var item in datas)
//                {
//                    CksTestResult cksTestResult = new CksTestResult()
//                    {
//                        BatchGuid = No,
//                        PlcId = Value.Position.PlcId,
//                        DataId = item.Position.DataId,
//                        DataName = item.Position.Description,
//                        DataValue = item.Value.ToString(),
//                    };
//                    results.Add(cksTestResult);
//                }
//                db.Insertable(results).ExecuteCommand();

//                //回复保存完成信号
//                AckWriteInt16(replyPos, 1);
//            }
//            else if(result == 0)
//            {
//                //复位上位机的信号
//                AckWriteInt16(replyPos, 0);
//            }
//        }
//    }
//}
